package me.militch.quickcore.core;

import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
import android.view.View;

public interface IView {

    /**
     * 设置页面布局
     * @return 布局ID
     */
    @LayoutRes
    int layout();
    /**
     * 初始化VIEW
     * @param savedInstanceState Activity状态保持数据
     */
    void initView(Bundle savedInstanceState);
    /**
     *  根据指定ID找到控件
     * @param id 控件ID
     * @param <T> 强转泛型
     * @return 控件
     */
    <T extends View> T $(@IdRes int id);
    /**
     * 根据指定ID找到控件，并且设置点击事件
     * @param id 控件ID
     * @param onClickListener 点击事件
     * @param <T> 强转泛型
     * @return 控件
     */
    <T extends View> T $(@IdRes int id, View.OnClickListener onClickListener);
}
